////---- 练习：
/** 玩法说明
 * 投注区分为红球号码区和蓝球号码区，红球号码范围为01～33，蓝球号码范围为01～16。
 * 每期从33个红球中开出6个号码，从16个蓝球中开出1个号码作为中奖号码，
 * 玩法即是竞猜开奖号码的6个红球号码和1个蓝球号码，顺序不限
 * */
/** 中奖条件
 * 一等奖：6+1             （钱(ni)太(zhong)多(bu)了，也封顶¥500万?）
 * 二等奖：6+0             （封顶¥500万）
 * 三等奖：5+1             （¥3000）
 * 四等奖：5+0 ｜ 4+1       （¥200）
 * 五等奖：4+0 ｜ 3+1       （¥10）
 * 六等奖：2+1 ｜ 1+1 ｜ 0+1（¥5）
 */


//----- 生成球
function createBall() {
    //蓝球
    let blue = createRandom(1, 16);
    //红球
    let redArr = [];
    while (redArr.length < 6) {
        let red = createRandom(1, 33);
        if (!(redArr.includes(red))) {
            redArr.push(red);
        }
    }
    return [redArr, blue]
}
let computer = createBall();
let player = createBall();
console.log(computer, player);

//----- 判断
function judge(computer, player) {
    let blueCount = computer[1] == player[1] ? 1 : 0;
    let redCount = computer[0].filter(function (item) {
        //[ [ 17, 4, 25, 27, 31, 12 ], 15 ] [ [ 31, 8, 23, 27, 25, 17 ], 7 ]
        //在电脑红球中取出一个数到玩家红球当中去查找是否存在这个数
        return player[0].indexOf(item) !== -1
    }).length;

    if (redCount == 6 && blueCount == 1) {
        console.log('一等奖');
    } else if (redCount == 6 && blueCount == 0) {
        console.log('二等奖');
    } else if (redCount == 5 && blueCount == 1) {
        console.log('三等奖');
    } else if ((redCount == 5 && blueCount == 0) || (redCount == 4 && blueCount == 1)) {
        console.log('四等奖');
    } else if ((redCount == 4 && blueCount == 0) || (redCount == 3 && blueCount == 1)) {
        console.log('五等奖');
    } else if ((redCount == 2 && blueCount == 0) || (redCount == 2 && blueCount == 1) || (redCount == 0 && blueCount == 1)) {
        console.log('六等奖');
    } else {
        console.log('啥也没有');
    }
}
judge(computer, player);

//随机数函数
function createRandom(min = 0, max = 0) {
    // 当min和max传反时，交换
    if (min > max) {
        [min, max] = [max, min]
    }
    let random = parseInt(Math.random() * (max - min + 1) + min)
    return random;
}

